package org.divineryang.service;

import com.github.pagehelper.PageInfo;
import org.divineryang.model.dto.system.AssginRoleDto;
import org.divineryang.model.dto.system.LoginDto;
import org.divineryang.model.dto.system.SysUserDto;
import org.divineryang.model.entity.system.SysUser;
import org.divineryang.model.vo.system.LoginVo;

/**
 * @program new-bee
 * @Description
 * @Author Diviner Yang
 * @Date 2024/04/18 15:02
 * @Version 1.0
 */
public interface SysUserService {
    /**
     * 登录
     * @param loginDto
     * @return
     */
    LoginVo login(LoginDto loginDto);

    SysUser getUserInfo(String token);

    void logout(String token);

    PageInfo<SysUser> findByPage(SysUserDto sysUserDto, Integer pageNum, Integer pageSize);

    void saveSysUser(SysUser sysUser);

    void updateSysUser(SysUser sysUser);

    void deleteById(Long userId);

    void doAssign(AssginRoleDto assginRoleDto);
}
